//deque 数据插入
#include <iostream>
#include <deque>

using namespace std;

void printDeque(deque<int> d)
{
    for(auto it=d.begin();it!=d.end();it++)
    {
        cout<<*it<<" ";
    }
    cout<<endl;
}

int main()
{
    deque<int> d;

    //1.使用push_front添加元素到前面
    d.push_front(-1);
    d.push_front(-2);
    d.push_front(-3);
    printDeque(d);

    //2.使用push_back 添加元素到最后
    d.push_back(1);
    d.push_back(2);
    d.push_back(3);
    printDeque(d);

    //3.使用insert在指定位置插入元素
    d.insert(d.begin()+3,0);//在索引3位置插入0
    printDeque(d);

    //在倒数第二个位置插入5个8
    d.insert(d.end()-1,5,8);
    printDeque(d);

    //插入范围[d.begin()+4,d.begin()+6)
    d.insert(d.begin()+1,d.begin()+4,d.begin()+6);
    printDeque(d);

    return 0;
}